1. Field of the Invention
The present invention relates to a peripheral apparatus control system, peripheral apparatus, information processing apparatus, and control method.
2. Description of the Related Art
In recent years, peripheral apparatuses are connected to information processing apparatuses using various interfaces such as Ethernet® and a wireless LAN to effectively use such peripheral information control systems in homes and offices in various modes. Examples of peripheral apparatuses include a printer, copying machine, facsimile apparatus, scanner, digital camera, digital video camera, and multi-functional equipment of them.
A printer will be exemplified as a peripheral apparatus. In recent years, the standardization in a network printing system in which a printer is shared by a plurality of information processing apparatuses has advanced. For example, a network printing system which uses a WSD (Web Service on Devices) print service has been put into practical use. Such network printing systems use event-based protocols. In such a print service, an information processing apparatus executes various kinds of control using events notified from a printer to the information processing apparatus.
For example, in the network printing system using the aforementioned print service, information processing apparatuses that share a printer on a single network can execute print processing using that printer. At this time, the printer notifies the information processing apparatus of an event indicating that print processing is complete (JobEndStateEvent) in response to a print job request issued by a given information processing apparatus.
The information processing apparatuses which are notified of this event include the information processing apparatus which issued the print job, and other information processing apparatuses which share that printer on the single network. Upon reception of the event from the printer, the information processing apparatus which issued the print job deletes the print-ended print job from a printer queue in itself.
In general, control of an event where a peripheral processing apparatus such as a printer notifies an information processing apparatus is seriously influenced by limitations of hardware resources of that peripheral apparatus. For example, it is difficult for a printer to notify all information processing apparatuses connected on a single network of, for example, a processing status of a print job by means of an event.
For this reason, in general, the printer is designed to notify a specific limited number of information processing apparatuses, which are controllable by itself, of events. For example, for a low-cost printer such as a color ink-jet printer, the number of information processing apparatuses to which that printer can send an event notification is normally limited to 10 to 20.
More specifically, when the number of information processing apparatuses to which the printer can send an event notification is limited to 10, the printer cannot notify the 11th and subsequent information processing apparatuses, which share that printer, of an event.
An OS (Operating System) incorporates measures to be taken under the assumption of the printer cannot notify an event, as described above. For example, the OS periodically acquires information associated with print jobs whose processes are in progress in the printer at intervals of once per 10 min using a GetActiveJobs operation, under the assumption of a case in which a print end event (JobEndStateEvent) is not notified.
Then, while the information that is associated with print jobs whose processes are in progress in the printer, and is acquired in response to the GetActiveJobs operation, includes information associated with a print job issued by this OS, the OS leaves the corresponding print job in a printer queue. After that, when that information does not include that of the corresponding print job, the OS deletes that print job from the printer queue.
In this measure processing, a time interval at which the OS periodically issues the GetActiveJobs operation to the printer is 10 min. However, this value may be derived in consideration of traffic on the network, processing speeds of information processing apparatuses, and the like in various use environments including network scales and hardware arrangements (specifications) of information processing apparatuses.
When this time interval is set to be, for example, 5 sec, and in a use environment where a plurality of printers are shared in a large-scale network configured by 100 or more information processing apparatuses, traffics on the network increase considerably. This is because all active information processing apparatuses periodically issue GetActiveJobs operations to printers at intervals of once per 5 sec. As a result, processing speeds of other services such as transmission/reception of e-mail messages, and access to the Internet are adversely influenced.
Focusing attention on the processing of the OS in the information processing apparatus, the OS always continuously executes processing for periodically issuing a GetActiveJobs operation to a printer at intervals of once per 5 sec. That is, in case of a low-cost information processing apparatus with a lower processing performance, continuation of issuance processing of a GetActiveJobs operation once per 5 sec adversely influences other services and processes to lower the processing speed, thus impairing the user's operability. In this way, the time interval required when the OS (information processing apparatus) issues a GetActiveJobs operation to a printer cannot be carelessly shortened.
A case will be examined below wherein in a network printing system using a WSD print service, the number of information processing apparatuses to which a printer can notify an event is limited to 10 (information processing apparatuses A to J). In such a case, when there are 11 information processing apparatuses which share that printer on a single network, all 11 information processing apparatuses, that is, the information processing apparatuses A to J, and an information processing apparatus K can execute print processes using that printer.
At this time, the printer notifies the information processing apparatuses A to J of a print end event (JobEndStateEvent) in association with print job requests issued by these information processing apparatuses. Upon reception of this event, the information processing apparatuses A to J delete the corresponding print-ended print jobs from their printer queues.
However, the printer cannot notify the information processing apparatus K of the aforementioned print end event (JobEndStateEvent) in association with a print job request issued by the information processing apparatus K. As a result, the information processing apparatus K cannot delete a print-ended print job from its printer queue, and that print job is unwantedly left in the printer queue in the information processing apparatus K.
In this case where the print end event is not notified, the OS periodically acquires information associated with print jobs whose processes are in progress in the printer at intervals of once per 10 min using a GetActiveJobs operation, thereby discriminating print-ended print jobs. As a result of discrimination, if the print processing of the corresponding print job is complete, the OS deletes that print job from the printer queue. However, 10 min maximum are required after the print processing is complete until that job is deleted from the print queue. Hence, the print job cannot be deleted from the printer queue in real time.
For example, when the information processing apparatus successively issues 100 print jobs, and print processes of all the print jobs are complete within about 5 min, the print-ended print jobs are unwantedly left in the printer queue of that information processing apparatus during maximum of 10 min. As a result, operability is very poor. Also, operation errors of the user may be induced at increased risk.